<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 地址没有变 数据变化了 const的职责是保证地址不变
        const obj = {
            name: 'Tom',
            age: 18
        }
        obj.age = 20;
        obj.name = 'Tina';
        console.log(obj);
        
        // obj = {name: 'Tom', age: 18}  Assignment to constant variable.
        // 重新分配地址 就会报错 此时obj指向了另外一个对象 所以报错
        console.log(obj);

        // const arr = [1,2,3,4];
        // arr[0] = 0;
        // arr.push(5)

        // 简单数据类型                 引用数据类型（obj arr）
        // 值类型-复制时得到的是值本身    址类型-复制时得到这个变量的地址，这个地址指向内存中存储的数据
        // 复制时总量增加               复制时总量不变

        // 判断两个引用数据类型是否相等，不能用==或===判断，没有意义
        // 应该遍历，然后对比具体的值
        console.log({name: 'Tom', age: 18} == {name: 'Tom', age: 18});
    </script>
</body>
</html>